<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".

Copyright (C) 1991-2016 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled "GNU Free Documentation License".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: Errors</title>

<meta name="description" content="Using as: Errors">
<meta name="keywords" content="Using as: Errors">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Overview.html#Overview" rel="up" title="Overview">
<link href="Invoking.html#Invoking" rel="next" title="Invoking">
<link href="Object.html#Object" rel="prev" title="Object">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Errors"></a>
<div class="header">
<p>
Previous: <a href="Object.html#Object" accesskey="p" rel="prev">Object</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Error-and-Warning-Messages"></a>
<h3 class="section">1.7 Error and Warning Messages</h3>


<a name="index-error-messages"></a>
<a name="index-warning-messages"></a>
<a name="index-messages-from-assembler"></a>
<p><code>as</code> may write warnings and error messages to the standard error
file (usually your terminal).  This should not happen when  a compiler
runs <code>as</code> automatically.  Warnings report an assumption made so
that <code>as</code> could keep assembling a flawed program; errors report a
grave problem that stops the assembly.
</p>

<a name="index-format-of-warning-messages"></a>
<p>Warning messages have the format
</p>
<div class="smallexample">
<pre class="smallexample">file_name:<b>NNN</b>:Warning Message Text
</pre></div>

<a name="index-file-names-and-line-numbers_002c-in-warnings_002ferrors"></a>
<p>(where <b>NNN</b> is a line number).  If both a logical file name
(see <a href="File.html#File"><code>.file</code></a>) and a logical line number
(see <a href="Line.html#Line"><code>.line</code></a>)
have been given then they will be used, otherwise the file name and line number
in the current assembler source file will be used.  The message text is
intended to be self explanatory (in the grand Unix tradition).
</p>
<p>Note the file name must be set via the logical version of the <code>.file</code>
directive, not the DWARF2 version of the <code>.file</code> directive.  For example:
</p>
<div class="smallexample">
<pre class="smallexample">  .file 2 &quot;bar.c&quot;
     error_assembler_source
  .file &quot;foo.c&quot;
  .line 30
      error_c_source
</pre></div>

<p>produces this output:
</p>
<div class="smallexample">
<pre class="smallexample">  Assembler messages:
  asm.s:2: Error: no such instruction: `error_assembler_source'
  foo.c:31: Error: no such instruction: `error_c_source'
</pre></div>

<a name="index-format-of-error-messages"></a>
<p>Error messages have the format
</p>
<div class="smallexample">
<pre class="smallexample">file_name:<b>NNN</b>:FATAL:Error Message Text
</pre></div>

<p>The file name and line number are derived as for warning
messages.  The actual message text may be rather less explanatory
because many of them aren&rsquo;t supposed to happen.
</p>



</body>
</html>
